(0) Obligation:

Clauses:

mult(X1, 0, 0).
mult(X, s(Y), Z) :- ','(mult(X, Y, W), sum(W, X, Z)).
sum(X, 0, X).
sum(X, s(Y), s(Z)) :- sum(X, Y, Z).

Query: mult(g,g,a)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

sumA(0, 0).
sumA(s(T23), s(T25)) :- sumA(T23, T25).
multB(T41, 0, 0).
multB(T46, s(T47), X73) :- multB(T46, T47, X72).
multB(T46, s(T47), X73) :- ','(multB(T46, T47, T50), sumC(T50, T46, X73)).
sumC(T59, 0, T59).
sumC(T64, s(T65), s(X96)) :- sumC(T64, T65, X96).
sumD(T79, 0, T79).
sumD(T86, s(T87), s(T89)) :- sumD(T86, T87, T89).
multE(T5, 0, 0).
multE(T18, s(0), T13) :- sumA(T18, T13).
multE(T30, s(s(T31)), T13) :- multB(T30, T31, X49).
multE(T30, s(s(T31)), T13) :- ','(multB(T30, T31, T34), sumC(T34, T30, X50)).
multE(T30, s(s(T31)), T13) :- ','(multB(T30, T31, T34), ','(sumC(T34, T30, T70), sumD(T70, T30, T13))).

Query: multE(g,g,a)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
multE_in: (b,b,f)
sumA_in: (b,f)
multB_in: (b,b,f)
sumC_in: (f,b,f)
sumD_in: (f,b,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

MULTE_IN_GGA(T18, s(0), T13) → U7_GGA(T18, T13, sumA_in_ga(T18, T13))
MULTE_IN_GGA(T18, s(0), T13) → SUMA_IN_GA(T18, T13)
SUMA_IN_GA(s(T23), s(T25)) → U1_GA(T23, T25, sumA_in_ga(T23, T25))
SUMA_IN_GA(s(T23), s(T25)) → SUMA_IN_GA(T23, T25)
MULTE_IN_GGA(T30, s(s(T31)), T13) → U8_GGA(T30, T31, T13, multB_in_gga(T30, T31, X49))
MULTE_IN_GGA(T30, s(s(T31)), T13) → MULTB_IN_GGA(T30, T31, X49)
MULTB_IN_GGA(T46, s(T47), X73) → U2_GGA(T46, T47, X73, multB_in_gga(T46, T47, X72))
MULTB_IN_GGA(T46, s(T47), X73) → MULTB_IN_GGA(T46, T47, X72)
MULTB_IN_GGA(T46, s(T47), X73) → U3_GGA(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_GGA(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_GGA(T46, T47, X73, sumC_in_aga(T50, T46, X73))
U3_GGA(T46, T47, X73, multB_out_gga(T46, T47, T50)) → SUMC_IN_AGA(T50, T46, X73)
SUMC_IN_AGA(T64, s(T65), s(X96)) → U5_AGA(T64, T65, X96, sumC_in_aga(T64, T65, X96))
SUMC_IN_AGA(T64, s(T65), s(X96)) → SUMC_IN_AGA(T64, T65, X96)
MULTE_IN_GGA(T30, s(s(T31)), T13) → U9_GGA(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_GGA(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → SUMC_IN_AGA(T34, T30, X50)
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_GGA(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_GGA(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_GGA(T30, T31, T13, sumD_in_aga(T70, T30, T13))
U11_GGA(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → SUMD_IN_AGA(T70, T30, T13)
SUMD_IN_AGA(T86, s(T87), s(T89)) → U6_AGA(T86, T87, T89, sumD_in_aga(T86, T87, T89))
SUMD_IN_AGA(T86, s(T87), s(T89)) → SUMD_IN_AGA(T86, T87, T89)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
MULTE_IN_GGA(x1, x2, x3)  =  MULTE_IN_GGA(x1, x2)
U7_GGA(x1, x2, x3)  =  U7_GGA(x1, x3)
SUMA_IN_GA(x1, x2)  =  SUMA_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x1, x2, x4)
MULTB_IN_GGA(x1, x2, x3)  =  MULTB_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
SUMC_IN_AGA(x1, x2, x3)  =  SUMC_IN_AGA(x2)
U5_AGA(x1, x2, x3, x4)  =  U5_AGA(x2, x4)
U9_GGA(x1, x2, x3, x4)  =  U9_GGA(x1, x2, x4)
U10_GGA(x1, x2, x3, x4)  =  U10_GGA(x1, x2, x4)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
SUMD_IN_AGA(x1, x2, x3)  =  SUMD_IN_AGA(x2)
U6_AGA(x1, x2, x3, x4)  =  U6_AGA(x2, x4)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULTE_IN_GGA(T18, s(0), T13) → U7_GGA(T18, T13, sumA_in_ga(T18, T13))
MULTE_IN_GGA(T18, s(0), T13) → SUMA_IN_GA(T18, T13)
SUMA_IN_GA(s(T23), s(T25)) → U1_GA(T23, T25, sumA_in_ga(T23, T25))
SUMA_IN_GA(s(T23), s(T25)) → SUMA_IN_GA(T23, T25)
MULTE_IN_GGA(T30, s(s(T31)), T13) → U8_GGA(T30, T31, T13, multB_in_gga(T30, T31, X49))
MULTE_IN_GGA(T30, s(s(T31)), T13) → MULTB_IN_GGA(T30, T31, X49)
MULTB_IN_GGA(T46, s(T47), X73) → U2_GGA(T46, T47, X73, multB_in_gga(T46, T47, X72))
MULTB_IN_GGA(T46, s(T47), X73) → MULTB_IN_GGA(T46, T47, X72)
MULTB_IN_GGA(T46, s(T47), X73) → U3_GGA(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_GGA(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_GGA(T46, T47, X73, sumC_in_aga(T50, T46, X73))
U3_GGA(T46, T47, X73, multB_out_gga(T46, T47, T50)) → SUMC_IN_AGA(T50, T46, X73)
SUMC_IN_AGA(T64, s(T65), s(X96)) → U5_AGA(T64, T65, X96, sumC_in_aga(T64, T65, X96))
SUMC_IN_AGA(T64, s(T65), s(X96)) → SUMC_IN_AGA(T64, T65, X96)
MULTE_IN_GGA(T30, s(s(T31)), T13) → U9_GGA(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_GGA(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → SUMC_IN_AGA(T34, T30, X50)
U9_GGA(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_GGA(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_GGA(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_GGA(T30, T31, T13, sumD_in_aga(T70, T30, T13))
U11_GGA(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → SUMD_IN_AGA(T70, T30, T13)
SUMD_IN_AGA(T86, s(T87), s(T89)) → U6_AGA(T86, T87, T89, sumD_in_aga(T86, T87, T89))
SUMD_IN_AGA(T86, s(T87), s(T89)) → SUMD_IN_AGA(T86, T87, T89)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
MULTE_IN_GGA(x1, x2, x3)  =  MULTE_IN_GGA(x1, x2)
U7_GGA(x1, x2, x3)  =  U7_GGA(x1, x3)
SUMA_IN_GA(x1, x2)  =  SUMA_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x1, x2, x4)
MULTB_IN_GGA(x1, x2, x3)  =  MULTB_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
SUMC_IN_AGA(x1, x2, x3)  =  SUMC_IN_AGA(x2)
U5_AGA(x1, x2, x3, x4)  =  U5_AGA(x2, x4)
U9_GGA(x1, x2, x3, x4)  =  U9_GGA(x1, x2, x4)
U10_GGA(x1, x2, x3, x4)  =  U10_GGA(x1, x2, x4)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
SUMD_IN_AGA(x1, x2, x3)  =  SUMD_IN_AGA(x2)
U6_AGA(x1, x2, x3, x4)  =  U6_AGA(x2, x4)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 17 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMD_IN_AGA(T86, s(T87), s(T89)) → SUMD_IN_AGA(T86, T87, T89)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
SUMD_IN_AGA(x1, x2, x3)  =  SUMD_IN_AGA(x2)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMD_IN_AGA(T86, s(T87), s(T89)) → SUMD_IN_AGA(T86, T87, T89)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
SUMD_IN_AGA(x1, x2, x3)  =  SUMD_IN_AGA(x2)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUMD_IN_AGA(s(T87)) → SUMD_IN_AGA(T87)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUMD_IN_AGA(s(T87)) → SUMD_IN_AGA(T87)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMC_IN_AGA(T64, s(T65), s(X96)) → SUMC_IN_AGA(T64, T65, X96)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
SUMC_IN_AGA(x1, x2, x3)  =  SUMC_IN_AGA(x2)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMC_IN_AGA(T64, s(T65), s(X96)) → SUMC_IN_AGA(T64, T65, X96)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
SUMC_IN_AGA(x1, x2, x3)  =  SUMC_IN_AGA(x2)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUMC_IN_AGA(s(T65)) → SUMC_IN_AGA(T65)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUMC_IN_AGA(s(T65)) → SUMC_IN_AGA(T65)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULTB_IN_GGA(T46, s(T47), X73) → MULTB_IN_GGA(T46, T47, X72)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
MULTB_IN_GGA(x1, x2, x3)  =  MULTB_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULTB_IN_GGA(T46, s(T47), X73) → MULTB_IN_GGA(T46, T47, X72)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULTB_IN_GGA(x1, x2, x3)  =  MULTB_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MULTB_IN_GGA(T46, s(T47)) → MULTB_IN_GGA(T46, T47)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • MULTB_IN_GGA(T46, s(T47)) → MULTB_IN_GGA(T46, T47)
    The graph contains the following edges 1 >= 1, 2 > 2

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMA_IN_GA(s(T23), s(T25)) → SUMA_IN_GA(T23, T25)

The TRS R consists of the following rules:

multE_in_gga(T5, 0, 0) → multE_out_gga(T5, 0, 0)
multE_in_gga(T18, s(0), T13) → U7_gga(T18, T13, sumA_in_ga(T18, T13))
sumA_in_ga(0, 0) → sumA_out_ga(0, 0)
sumA_in_ga(s(T23), s(T25)) → U1_ga(T23, T25, sumA_in_ga(T23, T25))
U1_ga(T23, T25, sumA_out_ga(T23, T25)) → sumA_out_ga(s(T23), s(T25))
U7_gga(T18, T13, sumA_out_ga(T18, T13)) → multE_out_gga(T18, s(0), T13)
multE_in_gga(T30, s(s(T31)), T13) → U8_gga(T30, T31, T13, multB_in_gga(T30, T31, X49))
multB_in_gga(T41, 0, 0) → multB_out_gga(T41, 0, 0)
multB_in_gga(T46, s(T47), X73) → U2_gga(T46, T47, X73, multB_in_gga(T46, T47, X72))
multB_in_gga(T46, s(T47), X73) → U3_gga(T46, T47, X73, multB_in_gga(T46, T47, T50))
U3_gga(T46, T47, X73, multB_out_gga(T46, T47, T50)) → U4_gga(T46, T47, X73, sumC_in_aga(T50, T46, X73))
sumC_in_aga(T59, 0, T59) → sumC_out_aga(T59, 0, T59)
sumC_in_aga(T64, s(T65), s(X96)) → U5_aga(T64, T65, X96, sumC_in_aga(T64, T65, X96))
U5_aga(T64, T65, X96, sumC_out_aga(T64, T65, X96)) → sumC_out_aga(T64, s(T65), s(X96))
U4_gga(T46, T47, X73, sumC_out_aga(T50, T46, X73)) → multB_out_gga(T46, s(T47), X73)
U2_gga(T46, T47, X73, multB_out_gga(T46, T47, X72)) → multB_out_gga(T46, s(T47), X73)
U8_gga(T30, T31, T13, multB_out_gga(T30, T31, X49)) → multE_out_gga(T30, s(s(T31)), T13)
multE_in_gga(T30, s(s(T31)), T13) → U9_gga(T30, T31, T13, multB_in_gga(T30, T31, T34))
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U10_gga(T30, T31, T13, sumC_in_aga(T34, T30, X50))
U10_gga(T30, T31, T13, sumC_out_aga(T34, T30, X50)) → multE_out_gga(T30, s(s(T31)), T13)
U9_gga(T30, T31, T13, multB_out_gga(T30, T31, T34)) → U11_gga(T30, T31, T13, sumC_in_aga(T34, T30, T70))
U11_gga(T30, T31, T13, sumC_out_aga(T34, T30, T70)) → U12_gga(T30, T31, T13, sumD_in_aga(T70, T30, T13))
sumD_in_aga(T79, 0, T79) → sumD_out_aga(T79, 0, T79)
sumD_in_aga(T86, s(T87), s(T89)) → U6_aga(T86, T87, T89, sumD_in_aga(T86, T87, T89))
U6_aga(T86, T87, T89, sumD_out_aga(T86, T87, T89)) → sumD_out_aga(T86, s(T87), s(T89))
U12_gga(T30, T31, T13, sumD_out_aga(T70, T30, T13)) → multE_out_gga(T30, s(s(T31)), T13)

The argument filtering Pi contains the following mapping:
multE_in_gga(x1, x2, x3)  =  multE_in_gga(x1, x2)
0  =  0
multE_out_gga(x1, x2, x3)  =  multE_out_gga(x1, x2)
s(x1)  =  s(x1)
U7_gga(x1, x2, x3)  =  U7_gga(x1, x3)
sumA_in_ga(x1, x2)  =  sumA_in_ga(x1)
sumA_out_ga(x1, x2)  =  sumA_out_ga(x1, x2)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
multB_in_gga(x1, x2, x3)  =  multB_in_gga(x1, x2)
multB_out_gga(x1, x2, x3)  =  multB_out_gga(x1, x2)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
sumC_in_aga(x1, x2, x3)  =  sumC_in_aga(x2)
sumC_out_aga(x1, x2, x3)  =  sumC_out_aga(x2)
U5_aga(x1, x2, x3, x4)  =  U5_aga(x2, x4)
U9_gga(x1, x2, x3, x4)  =  U9_gga(x1, x2, x4)
U10_gga(x1, x2, x3, x4)  =  U10_gga(x1, x2, x4)
U11_gga(x1, x2, x3, x4)  =  U11_gga(x1, x2, x4)
U12_gga(x1, x2, x3, x4)  =  U12_gga(x1, x2, x4)
sumD_in_aga(x1, x2, x3)  =  sumD_in_aga(x2)
sumD_out_aga(x1, x2, x3)  =  sumD_out_aga(x2)
U6_aga(x1, x2, x3, x4)  =  U6_aga(x2, x4)
SUMA_IN_GA(x1, x2)  =  SUMA_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUMA_IN_GA(s(T23), s(T25)) → SUMA_IN_GA(T23, T25)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
SUMA_IN_GA(x1, x2)  =  SUMA_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUMA_IN_GA(s(T23)) → SUMA_IN_GA(T23)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUMA_IN_GA(s(T23)) → SUMA_IN_GA(T23)
    The graph contains the following edges 1 > 1

(36) YES